package chpt04;

import java.util.Arrays;

public interface IntegerStack {
	public Integer push(Integer item);//如果item为null，则不入栈直接返回null。如果栈满，也返回null。如果插入成功，返回item。
	public Integer pop(); //出栈，如果为空，则返回null。出栈时只移动栈顶指针，相应位置不置为null
	public Integer peek(); //获得栈顶元素，如果为空，则返回null.
	public boolean empty(); //如果为空返回true
	public int size(); //返回栈中元素个数
}



public  class ArrayIntegerStack implements IntegerStack{
	private Integer[] arr;
	private int top=0;

	
	public ArrayIntegerStack(int capacity){
		arr=new Integer[capacity];
	}
	
	
	
	
	@Override
	public Integer push(Integer item) {
		if(item==null)
			return null;
		if(top==arr.length)
			return null;
		
		arr[top++]=item;
		    return item;
	}

	@Override
	public Integer pop() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Integer peek() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean empty() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public int size() {
		// TODO Auto-generated method stub
		return 0;
	}




	@Override
	public String toString() {
		return  Arrays.toString(arr);
	}
}

public class Main {

	public static void main(String[] args) {
		IntegerStack stack=new ArrayIntegerStack(1);
		stack.push(1);
		stack.push(1);
		System.out.println(stack);

	}

}

	